/**
 * init
 */
$(function() {
	// $('input[type="checkbox"]').iCheck({checkboxClass:
	// 'icheckbox_square-green'});

	initProTable();

	sys.selectpicker({
		id : 'brand', // select的id
		url : rootPath + "/productBrand/getBrandList", // 请求数据的远程地址
		defaultAll : true,
		defaultAllText : "请选择商品品牌",
		valueField : 'brandCode',
		textField : 'brandNameCh'
	});

	/*sys.selectpicker({
		id : 'productTag', // select的id
		url : rootPath + "/productTag/listProductTag", // 请求数据的远程地址
		defaultAll : true,
		valueField : 'id',
		textField : 'tagName'
	});*/
	sys.selectpicker({
		id : 'promotionTag', // select的id
		url : rootPath + "/promotionTag/listPromotionTag", // 请求数据的远程地址
		defaultAll : true,
		defaultAllText : "请选择活动标签",
		valueField : 'id',
		textField : 'tagName'
	});

	sys.selectpicker({
		id : 'status', // select的id
		url : rootPath + "/dict/listKeyMapEntites", // 请求数据的远程地址
		param : {
			keyType : 'productStatus'
		}, // 过滤参数
		// defaultValue:{},
		valueField : 'keyValue',
		textField : 'keyIntro'
	});
	
	// 查询
	$('#btnQuery').on('click', function() {
		sys.reloadTable('productTable');
	});
	
	$('#file').filestyle({
		'placeholder' : '请选择xlsx、xls格式文件',
		text : '选择文件'
	});

	// 清空
	$('#btnClear').on('click', function() {
		$("#productCategoryId").attr("bind-data", null)
		$("#productSearchForm input").val("");
		$('.selectpicker').selectpicker('val', '');
	});

	/**
	 * 跳转添加页面
	 */
	$('#btnAdd').on('click', function() {
		window.location.href = rootPath + "/product/toAddProduct";
	});
	
	
	$("#productCategoryName").on('click', function() {
		doChoseProductCategory();
	});
	
	// 初始化显示导入结果
	var msg = $("#productImpMsg").html();
	if (msg.length > 1) {
		$("#productImpModal").modal('show');
	}
});

/**
 * 选择商品分类
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年1月9日 上午11:12:56
 */
function doChoseProductCategory() {
	showRemote( rootPath + '/page/product/productCategoryTree.jsp', function() {
		//do nothing
	}, {
		title: '选择商品分类',
		width: 350,
		height: 350
	});
}

/**
 * 初始化列表
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月12日 上午1:38:39
 */
function initProTable() {
	// 定义列
	var columns = [
			{
				field : 'checkbox',
				checkbox : true,
				valign : 'middle',
				align : 'center'
			},
			{
				field : 'no',
				title : '序号',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					var options = $("#productTable").bootstrapTable("getOptions");
					return options.pageSize * (options.pageNumber - 1) + index + 1;
				}
			},
			{
				title : '商品图片',
				align : 'center',
				width : '60px',
				formatter : function(value, row, index) {
					var imgSrc = '';
					if (null == row.productImgPath || '' == row.productImgPath || 'null' == row.productImgPath) {
						imgSrc = rootPath + "/statics/images/default.jpg";
					} else {
						imgSrc = SystemImgPath + row.productImgPath;
					}
					return "<a rel='productImg' href='" + imgSrc + "'>" +
                    		"<img src='" + imgSrc + "?x-oss-process=image/resize,m_pad,h_60,w_60' width='50px' height='60px' onerror='this.src=\"" + rootPath + "/statics/images/default.jpg\"'>" +
                    		"</a>";
				}
			},
			{
				field : 'productCode',
				title : '商品编码',
				valign : 'middle',
				align : 'center'
			},
			{
				field : 'productName',
				title : '商品名称',
				valign : 'middle',
				align : 'left'
			// ,
			// formatter : function(value, row, index) {
			// if (null != row.brandName && '' != row.brandName && 'null' !=
			// row.brandName && row.brandName) {
			// if (row.childBrandName) {
			// return "<font color='black'>" + row.productName +
			// "</font><br/><font color='black'><b>"
			// + row.brandName + " / " + row.childBrandName + "</b></font>";
			// } else {
			// return "<font color='black'>" + row.productName +
			// "</font><br/><font color='black'><b>"
			// + row.brandName + "</b></font>";
			// }
			// } else {
			// return "<font color='black'>" + row.productName + "</font>";
			// }
			// }
			},
			{
				field : 'productCategoryId',
				title : '商品分类',
				align : 'center',
				valign : 'middle',
				visible : false
			},
			{
				field : 'productCategoryName',
				title : '商品分类',
				valign : 'middle',
				align : 'center',
				formatter : function(value, row, index) {
					if(value) {
						return "<font>" + value.replace(/\|/g, " / ") + "</font>";
					} else {
						return "-";
					}
				}
			},
			{
				field : 'promotionTag',
				title : '活动标签',
				align : 'center',
				valign : 'middle',
				visible : false
			},
			{
				field : 'promotionTagName',
				title : '活动标签',
				valign : 'middle',
				align : 'center'
			},
			{
				field : 'productStatus',
				title : '状态',
				valign : 'middle',
				align : 'center',
				width : '35px',
				formatter : function(value, row, index) {
					if(value == '1') {
						return "<span class='label label-success'>上架</span>"; 
					} else if(value == '2') {
						return "<span class='label label-warning'>预售中</span>"; 
					} else if(value == '0') {
						return "<span class='label label-danger'>已售罄</span>"; 
					} else if(value == '3') {
						return "<span class='label label-grey'>下架</span>"; 
					} else {
						return '未知状态';
					}
				}
			},
			{
				field : 'basePrice',
				title : '基价(元)',
				valign : 'middle',
				align : 'right',
				formatter : function(value, row, index) {
					return formatPrice(value);
				}
			},
			{
				field : 'marketPrice',
				title : '市场价(元)',
				valign : 'middle',
				align : 'right',
				formatter : function(value, row, index) {
					return formatPrice(value);
				}
			},
			{
				field : 'touristPrice',
				title : '游客价(元)',
				valign : 'middle',
				align : 'right',
				formatter : function(value, row, index) {
					return formatPrice(value);
				}
			},
			{
				field : 'id',
				title : 'ID',
				valign : 'middle',
				align : 'center',
				visible : false
			},
			{
				field : 'sortNo',
				title : '排序号',
				valign : 'middle',
				align : 'center',
				visible : false
			},
			{
				title : '排序',
				valign : 'middle',
				align : 'center',
				width : '170px',
				visible : false,
				formatter : function(value, row, index) {
					return formatSort(value, row, index);
				}
			},
			{
				field : '#',
				title : '操作',
				align : 'center',
				width : '160px',
				valign : 'middle',
				formatter : function(value, row, index) {
					return "<a class='btn btn-success btn-xs' href='javaScript:void(0);' onclick='toDetail(" + row.id
							+ ")'>查看</a>&nbsp;"
							+ "<a class='btn btn-info btn-xs' href='javaScript:void(0);' onclick='toEdit(" + row.id
							+ ")'>编辑</a>&nbsp;"
							+ "<a class='btn btn-danger btn-xs' href='javaScript:void(0);' onclick='doDelete(" + row.id
							+ ")'>删除</a>";
				}
			} ];

	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var productCode = $("#productCode").val();
		var productName = $("#productName").val();
		var brand = $("#brand").val();
		var productCategoryId = $("#productCategoryId").val();
		var promotionTag = $("#promotionTag").val();
		var productType = $("#productType").val();
		var productStatus = $("#productStatus").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			productCode : productCode,
			productName : productName,
			brandCode : brand,
			productCategoryId : productCategoryId,
			promotionTag : promotionTag,
			productStatus : productStatus,
			productType : productType
		};
	};

	var url = rootPath + "/product/listProductPage"; // 请求json数据的服务器地址
	sys.initTable('productTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true,
		onLoadSuccess : function() {
			initBootstrapTableCheckbox();
            initFancyBoxImg("productImg");
		}
	});
}

/**
 * 格式化价格
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月12日 下午7:32:55
 * @param price
 * @returns {String}
 */
function formatPrice(price) {
	try {
		if (price) {
			// 将其转为4位小数
			price = price.toFixed(2);
			var result = price && price.toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {
				return $1 + ",";
			});
			return '<font style="">' + result + '</font>';
		} else {
			return "-";
		}
	} catch (e) {
		console.log(e);
		return '<font style="">' + price + '</font>';
	}
}
/**
 * 排序
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年12月23日 上午11:45:28
 * @param value
 * @param row
 * @param index
 * @returns {String}
 */
function formatSort(value, row, index) {
	var options = $('#productTable').bootstrapTable("getOptions");
	var pageNumber = options.pageNumber;// 当前页
	var totalPages = options.totalPages;//总页数
	var lastRowIndex = $('#productTable').bootstrapTable('getData').length;
	var strHtml = "";
	if(pageNumber == 1 && index == 0) {
		// 第一行
		strHtml += "<a class='btn btn-primary btn-xs' onclick='sort( -1, "+row.id+")'><i class='fa fa-arrow-down'></i>下移</a>";
	} else if(pageNumber == totalPages && (lastRowIndex - 1) == index) {
		//最后一行
		strHtml += "<a class='btn btn-primary btn-xs' onclick='sort( 1, " + row.id+")'><i class='fa fa-arrow-up'></i>上移</a>";
		strHtml += "<a class='btn btn-danger btn-xs' onclick='sort( 0, " + row.id+")'>置顶</a>";
	} else {
		// 其他中间行
		strHtml += "<a class='btn btn-primary btn-xs' onclick='sort( 1, " + row.id+")'><i class='fa fa-arrow-up'></i>上移</a>";
		strHtml += "<a class='btn btn-primary btn-xs' onclick='sort( -1, " + row.id+")'><i class='fa fa-arrow-down'></i>下移</a>";
		strHtml += "<a class='btn btn-danger btn-xs' onclick='sort( 0, " + row.id+")'>置顶</a>";
	}
	return strHtml;
}

/**
 * 排序
 * 
 * @param direction
 *            排序移动方向 1 上移 0 置顶 -1 下移
 * @param id
 *            主键ID
 */
function sort(direction, id, parentId) {
	var url = rootPath + '/sort';
	var tableName = "eb_product";
	$.ajax({
		type : 'POST',
		url : url,
		data : {
			direction : direction,
			tableName : tableName,
			id : id
		},
		success : function(data) {
			if (data.code == '1') {
				var options = $('#productTable').bootstrapTable("getOptions");
				var pageNumber = options.pageNumber;// 当前页
				var pageSize = options.pageSize;// 总页数
				var pageObj = {
					pageNumber : pageNumber,
					pageSize : pageSize
				}
				sys.reloadTable('productTable', pageObj);
			}
		}
	});
}

/**
 * 批量下架
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月17日 下午5:12:58
 * @param status
 * @returns {Boolean}
 */
function doModifyStatusBatch(status) {
	var choseRows = $("div.checked").closest("tr");
	if (choseRows.length == 0) {
		layer.alert('请选择要下架的商品');
		return false;
	}
	var rows = $("#productTable").bootstrapTable("getData");
	showConfirm("确定下架这些商品吗？", function() {
		var successCount = 0;
		var failedCount = 0;
		for (var i = 0; i < choseRows.length; i++) {
			var index = choseRows[i].rowIndex - 1;
			var row = rows[index];
			$.ajax({
				url : rootPath + "/product/modifyOnlineStatus",
				type : "post",
				async : false,
				dataType : 'json',
				data : {
					productId : row.id,
					productStatus : 0
				},
				success : function(json) {
					if (json.code == '1') {
						successCount++;
					} else {
						failedCount++;
					}
				}
			});
		}
		showSuccess("批量下架完成，成功：" + successCount + "条，失败：" + failedCount + "条！", sys.reloadTable('productTable'));
	});
}

/**
 * 批量修改商品状态
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年1月1日 上午11:14:38
 * @param status
 * @returns {Boolean}
 */
function doModifyProductStatusBatch(status) {
	var choseRows = $("div.checked").closest("tr");
	if (choseRows.length == 0) {
		layer.alert('请选择商品!');
		return false;
	}
	var rows = $("#productTable").bootstrapTable("getData");
	showConfirm("确定操作这些商品吗？", function() {
		var successCount = 0;
		var failedCount = 0;
		var failedMsg = '';
		for (var i = 0; i < choseRows.length; i++) {
			var index = choseRows[i].rowIndex - 1;
			var row = rows[index];
			$.ajax({
				url : rootPath + "/product/modifyProductStatus",
				type : "post",
				async : false,
				dataType : 'json',
				data : {
					productId : row.id,
					productStatus : status
				},
				success : function(json) {
					if (json.code == '1') {
						successCount++;
					} else {
						failedCount++;
						failedMsg += json.msg + '<br/>';
					}
				}
			});
		}
		if(failedCount > 0) {
			showSuccess("批量操作完成，成功：" + successCount + "条，失败：" + failedCount + "条！<br>失败原因：<br>" + failedMsg, sys.reloadTable('productTable'));
		} else {
			showSuccess("批量操作完成，成功：" + successCount + "条！", sys.reloadTable('productTable'));
		}
	});
}

/**
 * 商品批量删除
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月17日 下午5:36:18
 * @returns {Boolean}
 */
function doDelProBatch() {
	var choseRows = $("div.checked").closest("tr");
	if (choseRows.length == 0) {
		layer.alert('请选择要删除的商品');
		return false;
	}
	var rows = $("#productTable").bootstrapTable("getData");
	showConfirm("商品删除后不可恢复，确定要删除这些商品吗？", function() {
		var successCount = 0;
		var failedCount = 0;
		for (var i = 0; i < choseRows.length; i++) {
			var index = choseRows[i].rowIndex - 1;
			var row = rows[index];
			$.ajax({
				url : rootPath + "/product/doDelPro",
				type : "post",
				async : false,
				dataType : 'json',
				data : {
					productId : row.id
				},
				success : function(json) {
					if (json.code == '1') {
						successCount++;
					} else {
						failedCount++;
					}
				}
			});
		}
		showSuccess("批量删除完成，成功：" + successCount + "条，失败：" + failedCount + "条！", sys.reloadTable('productTable'));
	});

}

/**
 * 上架
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月13日 上午11:54:32
 * @param id
 */
function modifyOnlineStatus(id, onlineStatus) {
	showConfirm("确定变更该商品的上下架状态吗？", function() {
		$.ajax({
			url : rootPath + "/product/modifyOnlineStatus",
			type : "post",
			async : false,
			dataType : 'json',
			data : {
				productId : id,
				onlineStatus : onlineStatus
			},
			success : function(json) {
				if (json.code == '1') {
					showSuccess(json.msg, function() {
						sys.reloadTable('productTable');
					});
				} else {
					showErr(json.msg);
				}
			}
		});
	});
}

/**
 * 删除商品
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月6日 上午1:31:21
 * @param id
 */
function doDelete(id) {
	showConfirm("商品删除后不可恢复，确定要删除该商品吗？", function() {
		$.ajax({
			url : rootPath + "/product/doDelPro",
			type : "post",
			async : false,
			dataType : 'json',
			data : {
				productId : id
			},
			success : function(json) {
				if (json.code == '1') {
					showSuccess(json.msg, function() {
						sys.reloadTable('productTable');
					});
				} else {
					showErr(json.msg);
				}
			}
		});
	});
}

/**
 * 商品复制拷贝
 * @returns {Boolean}
 */
function doCopyProBatch() {
	var choseRows = $("div.checked").closest("tr");
	if (choseRows.length == 0) {
		layer.alert('请选择要复制的商品');
		return false;
	}
	if (choseRows.length > 1) {
		layer.alert('只能复制一个商品');
		return false;
	}
	var rows = $("#productTable").bootstrapTable("getData");
	var productId = "";
	showConfirm("确定复制此商品吗？", function() {
		var successCount = 0;
		var failedCount = 0;
		for (var i = 0; i < choseRows.length; i++) {
			var index = choseRows[i].rowIndex - 1;
			var row = rows[index];
			$.ajax({
				url : rootPath + "/product/copyProduct",
				type : "post",
				async : false,
				dataType : 'json',
				data : {
					productId : row.id,
				},
				success : function(json) {
					productId = json.data;
					if(json.code == '1' && productId) {
						$("#opt_status").val(""); //初始化弹出框操作状态
						var url = rootPath + '/product/toUpdateProduct?id='+productId;
						var index = showDialogUrl('商品复制', 1200, 750, url, function(index) {
							var optStatus = $('#opt_status').val();
							if (optStatus == '1') {
								layer.msg('商品复制完成！', {
									icon:1,
									time : 1000
								});
								layer.close(index);
							}
						});
						layer.full(index);
					} else {
						showErr(json.msg);
					}
				}
			});
		}
//		showSuccess("批量复制完成，成功：" + successCount + "条，失败：" + failedCount + "条！", sys.reloadTable('productTable'));
		// window.location.href = rootPath + "/product/toUpdateProduct?id=" + productId;
	});
}

// 跳转详情页面
function toDetail(id) {
	// window.location.href = rootPath + "/product/toDetail?id=" + id;
	$("#opt_status").val(""); //初始化弹出框操作状态
	var url = rootPath + '/product/toDetail?id='+id;
	var index = showDialogUrl('商品详情', 1200, 750, url, function(index) {
		
	});
	layer.full(index);
}
// 跳转编辑页面
function toEdit(id) {
	// window.location.href = rootPath + "/product/toUpdateProduct?id=" + id;
	$("#opt_status").val(""); //初始化弹出框操作状态
	var url = rootPath + '/product/toUpdateProduct?id='+id;
	var index = showDialogUrl('商品编辑', 1200, 750, url, function(index) {
		var optStatus = $('#opt_status').val();
		if (optStatus == '1') {
			//本页刷新
			var options = $('#productTable').bootstrapTable("getOptions");
			var pageNumber = options.pageNumber;// 当前页
			var pageSize = options.pageSize;// 总页数
			var pageObj = {
				pageNumber : pageNumber,
				pageSize : pageSize
			}
			sys.reloadTable('productTable', pageObj);
			layer.msg('商品编辑完成！', {
				icon:1,
				time : 1000
			});
			layer.close(index);
		}
	});
	layer.full(index);
}

/**
 * 导出需要重新排序的商品
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年4月27日 上午10:16:14
 */
function doExpProduct() {
	$("#productSearchForm").submit();
}

/**
 * 打开导入弹出层
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年4月27日 上午10:26:15
 */
function doImpProduct() {
	$("#editModal").modal('show');
}





